package com.ruoyi.electronicFence.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

/**
 * 接收工控报警数据实体类
 *
 * @author ygsj
 * @date 2024-04-10
 */
@Data
public class ReceiveEFData {

    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 单位编号 */
    @Excel(name = "单位编号")
    private String unitCode;

    /** 报警时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "报警时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime alarmTime;

    /** 设备：被检测的设备 */
    @Excel(name = "设备：被检测的设备")
    private String alarmDevice;

    /** 报警类型名称 (0:预警 1:停机) */
    @Excel(name = "报警类型名称 (0:预警 1:停机)")
    private String[] alarmType;

    /** 报警类型名称 (0:预警 1:停机) */
    @Excel(name = "报警类型名称 (0:预警 1:停机)")
    private BigDecimal alarmValue;

    /** 控制器Id */
    @Excel(name = "控制器Id")
    private String controllerId;

    /** 控制器名称 */
    @Excel(name = "控制器名称")
    private String controllerName;

    /** 最大人员阈值 */
    @Excel(name = "控制器名称")
    private Integer maxNumbersOfPerson;

    /** 最小人员阈值 */
    @Excel(name = "控制器名称")
    private Integer mixNumbersOfPerson;

    /** 监测设备id */
    @Excel(name = "监测设备id")
    private String monitorDeviceId;

    /** 监测设备名称 */
    @Excel(name = "监测设备名称")
    private String monitorDeviceName;

    /** 监测设备id */
    @Excel(name = "监测设备ip")
    private String monitorDeviceIP;

    /** 监测设备类型 */
    @Excel(name = "监测设备类型")
    private String monitorDeviceType;

    /** 报警图片URL */
    @Excel(name = "报警图片URL")
    private String pictureUrl;
    /** 报警图片URL */

    @Excel(name = "人员卡信息")
    private Map<String, List<EFPersonnel>> personCardInfo;

    @Excel(name = "报警图片URL")
    private String personId;

    /** 控制器IP */
    @Excel(name = "控制器IP")
    private String controllerIP;

    /** 设备状态 (0:运行 1:停机 2:未连接)*/
    @Excel(name = "设备状态")
    private String equipmentStatus;

    /** 设备状态 (0:正常 1:预警 2:停机)*/
    @Excel(name = "设备状态")
    private String controllerStatus;

    @Excel(name = "人员卡信息")
    private Map<String,List<Map<String,Object>>> personCardInfoMap;

    /** 通道名称 */
    @Excel(name = "通道名称")
    private String apeName;

    /** 通道ID */
    @Excel(name = "通道ID")
    private Integer apeId;


}
